/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package videogest;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Date;
import java.util.List;

/**
 *
 * @author JAVA
 */
public abstract class Operacion {

    private String codigo; 
    private Cliente cliente;
    private Producto producto;
    private Date fechaRegistro; //guardaremos las fecha en milisegundos para poder operar con ellas
    

    public Operacion(Cliente cliente, Producto producto) throws FileNotFoundException, IOException
    {
        this.fechaRegistro = new Date();
        this.codigo = Fichero.Leer(Codigo.Operacion);
        this.cliente = cliente;
        this.producto = producto;
        Fichero.incrementarCodigo(this.codigo, Codigo.Operacion);
    }

    public Operacion(String codigo, Cliente cliente, Producto producto, Date fechaRegistro) throws FileNotFoundException, IOException
    {
        this.fechaRegistro = fechaRegistro;
        this.codigo = codigo;
        this.cliente = cliente;
        this.producto = producto;
     }

    public void setProducto(Producto producto) {
        this.producto = producto;
    }

    public Producto getProducto() {
        return producto;
    }

    public void setCliente(Cliente cliente) {
        this.cliente = cliente;
    }
    public Cliente getCliente() {
        return cliente;
    }

    public String getCodigo() {
        return codigo;
    }

    public void setCodigo(String codigo) {
        this.codigo = codigo;
    }


    private void setFechaRegistro(Date FechaRegistro) {
        this.fechaRegistro = FechaRegistro;
    }

    public Date getFechaRegistro() {
        return fechaRegistro;
    }

    public abstract float calculaImporte();

    public abstract void alta();



}
